home *** CD-ROM | disk | FTP | other *** search
/ Acorn RISC PD-CD 1 / Acorn RISC PD-CD 1.iso / languages / dde / _pc / h / trace < prev    next >
Text File  |  1992-02-09  |  2KB  |  57 lines

  1. (* Title  : trace.h
  2.  * Purpose: centralised control for trace/debug output
  3.  *
  4.  *)
  5.  
  6. #ifndef __trace_h
  7. #define __trace_h
  8.  
  9. (* This flag says if tracing is compiled in. It should be used in
  10. conditional compilation statements around all tracing code. *)
  11.  
  12. #ifdef TRACE
  13.    (* ------------------------------- tracef -------------------------------
  14.     * Description:   Outputs tracing info.
  15.     *
  16.     * Parameters:    char* -- printf-style format string
  17.     *                ...   -- variable argument list
  18.     * Returns:       void.
  19.     * Other Info:    called by tracef0,tracef1 etc.
  20.     *
  21.     *)
  22.    procedure tracef(fmt : string, ..); extern;
  23.  
  24.    #define tracef0 tracef
  25.    #define tracef1 tracef
  26.    #define tracef2 tracef
  27.    #define tracef3 tracef
  28.    #define tracef4 tracef
  29.  
  30.    (* These forms can occur outside conditional compilation clauses:
  31.    they will produce no code if TRACE is not set. *)
  32.  
  33.    function trace_is_on : boolean; extern;
  34.                                    (* returns true if tracing turned on *)
  35.    procedure trace_on; extern;     (* turns tracing on *)
  36.    procedure trace_off; extern;    (* turns tracing off *)
  37. #else
  38.    (* No-trace versions *)
  39.  
  40.    (* tracef itself cannot be done as a macro. *)
  41.    procedure tracef(fmt : string; ..); extern;
  42.  
  43.    #define tracef0(a) ((void) 0)
  44.    #define tracef1(a,b) ((void) 0)
  45.    #define tracef2(a,b,c) ((void) 0)
  46.    #define tracef3(a,b,c,d) ((void) 0)
  47.    #define tracef4(a,b,c,d,e) ((void) 0)
  48.  
  49.    #define trace_is_on() 0
  50.    #define trace_on() ((void) 0)
  51.    #define trace_off() ((void) 0)
  52. #endif
  53.  
  54. #endif
  55.  
  56. (* end trace.h *)
  57.